home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / ASSEMBLE / 0419.ZIP / 6805MACS.ASM < prev    next >
Assembly Source File  |  1986-02-08  |  3KB  |  340 lines

  1.     title    "6805 Cross assembler"
  2. ;6805macs.asm Copyright 1986 Stuart Venters.
  3.  
  4. rdop    macro
  5.      if    "#" ? "$2"
  6.       db    $1,"#" ^ $2
  7.      else
  8.       wrop    $1,$2,$3
  9.      endif
  10.     endm
  11.  
  12. wrop    macro
  13.      if    "" = "$3"
  14.       wrop2 $1,$2
  15.      else
  16.       if "$3" = "X"
  17.        wrop3    $1,$2
  18.       else
  19.        wrop3    $1,$2
  20.        error    "A"
  21.       endif
  22.      endif
  23.     endm
  24.  
  25. wrop2    macro
  26.      if    "X" = "$2"
  27.       db    $1+0x50
  28.      else
  29.       if    ($2) < 256
  30.        db    $1+0x10,$2
  31.       else
  32.        db    $1+0x20
  33.        dw    $2
  34.       endif
  35.      endif
  36.     endm
  37.  
  38. wrop3    macro
  39.      if ($2) < 256
  40.       if    $2
  41.        db    $1+0x40,$2
  42.       else
  43.        db    $1+0x50
  44.       endif
  45.      else
  46.       db    $1+0x30
  47.       dw    $2
  48.      endif
  49.     endm
  50.  
  51. lda    macro
  52.     rdop    0xa6,$1,$2
  53.     endm
  54.  
  55. ldx    macro
  56.     rdop    0xae,$1,$2
  57.     endm
  58.  
  59. sta    macro
  60.     wrop    0xa7,$1,$2
  61.     endm
  62.  
  63. stx    macro
  64.     wrop    0xaf,$1,$2
  65.     endm
  66.  
  67. add    macro
  68.     rdop    0xab,$1,$2
  69.     endm
  70.  
  71. adc    macro
  72.     rdop    0xa9,$1,$2
  73.     endm
  74.  
  75. sub    macro
  76.     rdop    0xa0,$1,$2
  77.     endm
  78.  
  79. sbc    macro
  80.     rdop    0xa2,$1,$2
  81.     endm
  82.  
  83. and    macro
  84.     rdop    0xa4,$1,$2
  85.     endm
  86.  
  87. ora    macro
  88.     rdop    0xaa,$1,$2
  89.     endm
  90.  
  91. eor    macro
  92.     rdop    0xa8,$1,$2
  93.     endm
  94.  
  95. cmp    macro
  96.     rdop    0xa1,$1,$2
  97.     endm
  98.  
  99. cpx    macro
  100.     rdop    0xa3,$1,$2
  101.     endm
  102.  
  103. bit    macro
  104.     rdop    0xa5,$1,$2
  105.     endm
  106.  
  107. jmp    macro
  108.     wrop    0xac,$1,$2
  109.     endm
  110.  
  111. jsr    macro
  112.     wrop    0xad,$1,$2
  113.     endm
  114.  
  115.  
  116. rmwop    macro
  117.      if    "" = "$3"
  118.       rmwop2    $1,$2
  119.      else
  120.       rmwop3    $1,$2,$3
  121.      endif
  122.     endm
  123.  
  124. rmwop2    macro
  125.      if    "A" = "$2"
  126.       db    $1+0x10
  127.      else
  128.       if    "X" = "$2"
  129.        db    $1+0x20
  130.       else
  131.        db    $1,$2
  132.       endif
  133.      endif
  134.     endm
  135.  
  136. rmwop3    macro
  137.      if    "X" = "$3"
  138.       if    $2 = 0
  139.        db    $1+0x40
  140.       else
  141.        db    $1+0x30,$2
  142.       endif
  143.      else
  144.       error "A"
  145.       db    $1+0x30,0
  146.      endif
  147.     endm
  148.  
  149. inc    macro
  150.     rmwop    0x3c,$1,$2
  151.     endm
  152.  
  153. dec    macro
  154.     rmwop    0x3a,$1,$2
  155.     endm
  156.  
  157. clr    macro
  158.     rmwop    0x3f,$1,$2
  159.     endm
  160.  
  161. com    macro
  162.     rmwop    0x33,$1,$2
  163.     endm
  164.  
  165. neg    macro
  166.     rmwop    0x30,$1,$2
  167.     endm
  168.  
  169. rol    macro
  170.     rmwop    0x39,$1,$2
  171.     endm
  172.  
  173. ror    macro
  174.     rmwop    0x36,$1,$2
  175.     endm
  176.  
  177. lsl    macro
  178.     rmwop    0x38,$1,$2
  179.     endm
  180.  
  181. lsr    macro
  182.     rmwop    0x34,$1,$2
  183.     endm
  184.  
  185. asr    macro
  186.     rmwop    0x37,$1,$2
  187.     endm
  188.  
  189. asl    macro
  190.     rmwop    0x38,$1,$2
  191.     endm
  192.  
  193. tst    macro
  194.     rmwop    0x3d,$1,$2
  195.     endm
  196.  
  197. dbr    macro
  198.     iferr    "V",(($2)>127) & (($2)<256)
  199.     db    $1,$2
  200.     endm
  201.  
  202. bra    macro
  203.     dbr    0x20,($1)-$-2
  204.     endm
  205.  
  206. brn    macro
  207.     dbr    0x21,($1)-$-2
  208.     endm
  209.  
  210. bhi    macro
  211.     dbr    0x22,($1)-$-2
  212.     endm
  213.  
  214. bls    macro
  215.     dbr    0x23,($1)-$-2
  216.     endm
  217.  
  218. bcc    macro
  219.     dbr    0x24,($1)-$-2
  220.     endm
  221.  
  222. bhs    macro
  223.     dbr    0x24,($1)-$-2
  224.     endm
  225.  
  226. bcs    macro
  227.     dbr    0x25,($1)-$-2
  228.     endm
  229.  
  230. blo    macro
  231.     dbr    0x25,($1)-$-2
  232.     endm
  233.  
  234. bne    macro
  235.     dbr    0x26,($1)-$-2
  236.     endm
  237.  
  238. beq    macro
  239.     dbr    0x27,($1)-$-2
  240.     endm
  241.  
  242. bhcc    macro
  243.     dbr    0x28,($1)-$-2
  244.     endm
  245.  
  246. bhcs    macro
  247.     dbr    0x29,($1)-$-2
  248.     endm
  249.  
  250. bpl    macro
  251.     dbr    0x2a,($1)-$-2
  252.     endm
  253.  
  254. bmi    macro
  255.     dbr    0x2b,($1)-$-2
  256.     endm
  257.  
  258. bmc    macro
  259.     dbr    0x2c,($1)-$-2
  260.     endm
  261.  
  262. bms    macro
  263.     dbr    0x2d,($1)-$-2
  264.     endm
  265.  
  266. bil    macro
  267.     dbr    0x2e,($1)-$-2
  268.     endm
  269.  
  270. bih    macro
  271.     dbr    0x2f,($1)-$-2
  272.     endm
  273.  
  274. bsr    macro
  275.     dbr    0xad,($1)-$-2
  276.     endm
  277.  
  278. brset    macro
  279.     db    ($1)*2
  280.     dbr    $2,($3)-$-3
  281.     endm
  282.  
  283. brclr    macro
  284.     db    1+(($1)*2)
  285.     dbr    $2,($3)-$-3
  286.     endm
  287.  
  288. bset    macro
  289.     db    0x10+($1)+($1),$2
  290.     endm
  291.  
  292. bclr    macro
  293.     db    0x11+($1)+($1),$2
  294.     endm
  295.  
  296. tax    macro
  297.     db    0x97
  298.     endm
  299.  
  300. txa    macro
  301.     db    0x9f
  302.     endm
  303.  
  304. sec    macro
  305.     db    0x99
  306.     endm
  307.  
  308. clc    macro
  309.     db    0x98
  310.     endm
  311.  
  312. sei    macro
  313.     db    0x9B
  314.     endm
  315.  
  316. cli    macro
  317.     db    0x9A
  318.     endm
  319.  
  320. swi    macro
  321.     db    0x83
  322.     endm
  323.  
  324. rts    macro
  325.     db    0x81
  326.     endm
  327.  
  328. rti    macro
  329.     db    0x80
  330.     endm
  331.  
  332. rsp    macro
  333.     db    0x9c
  334.     endm
  335.  
  336. nop    macro
  337.     db    0x9D
  338.     endm
  339.  
  340.